<template>
  <div class="header">
    <!-- 左侧点击四个点的Menu按钮具有折叠菜单栏的功能，右侧user的头像，头像有下栏菜单 -->
    <div class="l-content">
      <el-button size="small" @click="toggleCollapse">
        <component class="icons" is="menu"></component>
      </el-button>
      <el-breadcrumb separator="/" class="bread">
        <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
      </el-breadcrumb>
    </div>
    <div class="r-content"> <el-dropdown>
                <span class="el-dropdown-link">
                    <!-- Dropdown List
                    <el-icon class="el-icon--right">
                        <arrow-down />
                    </el-icon> -->
                  <!-- 将此部分内容换成我们要显示的用户头像图片（my-vue-project\src\assets\images\user.png） -->
                    <img :src="getImageUrl('user')" alt="用户头像" class="user" />
                </span>
      <template #dropdown>
        <el-dropdown-menu>
          <el-dropdown-item>个人中心</el-dropdown-item>
          <el-dropdown-item @click="toggleToken">退出</el-dropdown-item>
        </el-dropdown-menu>
      </template>
    </el-dropdown></div>
  </div>
</template>

<script setup>
import { ref, computed } from 'vue'
// 通过参数user的名字可以获取动态的图片的url
// 通过new URL()方法可以创建并返回一个URL对象,用来获取图片的url（百度new URL MDN）
// 通过import.meta.url可以获取当前模块的url
const getImageUrl = (user) => {
  return new URL(`../assets/images/${user}.png`, import.meta.url).href
}

import { useAllDateStore } from '@/stores/index';
// 获取 store 实例
const store = useAllDateStore();
// 实现toggleCollapse方法
const toggleCollapse = () => {
  store.toggleCollapse()
}

// // 路由
import { useRouter } from 'vue-router';
const router = useRouter()
// toggleToken方法 退出登录
const toggleToken = () => {
  store.resetToken() // 清空token
  router.push('/login') // 跳转到登录页面
}
</script>

<style lang="less" scoped>
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: #333;
}

.icons {
  width: 20px;
  height: 20px;

}

.l-content {
  display: flex;
  align-items: center;

  .el-button {
    margin-right: 20px;
  }
}

.r-content {
  .user {
    width: 40px;
    height: 40px;
    border-radius: 50%;
  }
}

:deep(.bread span) {
  color: #fff !important;
  cursor: pointer !important;
}
</style>